package resSociaux;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import charger.Input;
import charger.Output;
import charger.Relation;
import donnee.Revue;

public class Test_res {

	public static void main(String[] args) throws IOException {

		Output.getInstance().lireOut("mini.output");
		Input.getInstance().lire("mini.input");
		Relation.getInstance().lireRelation("mini.relation");
		//grapheNonPondere(10);
		HashMap<String, HashMap<String, List<Revue>>> u = Relation.getInstance().getUtilisatuer();
		
		
//		Iterator iterator = Relation.getInstance().getUtilisatuer().keySet().iterator();  
//		   
//		while (iterator.hasNext()) {  
//		   String key = iterator.next().toString();  
//		   String value = Relation.getInstance().getUtilisatuer().get(key).toString();  
//		   
//		   System.out.println(key + " " + value);  
//		} 
	}

//	public static void grapheNonPondere(double pcX) throws IOException {
//
//		File f = new File("/tmp/gNonPondere.txt");
//		BufferedWriter bw = new BufferedWriter(new FileWriter(f));
//
//		HashMap<String, List<Revue>> u = Relation.getInstance().getUtilisatuer();
//		Set<String> set = u.keySet();
//		Object[] arr = set.toArray();
//
//		for (int i = 0; i < arr.length - 1; i++) {
//			Object a = arr[i];
//
//			for (int j = i + 1; j < arr.length; j++) {
//				Object b = arr[j];
//				int pc = calculePourcentage(u.get(a), u.get(b));
//				if (pc >= pcX)
//					// bw.write(a + " " + b + " " + pc + "\n");
//					bw.write(a + " " + b + "\n");
//			}
//
//		}
//		bw.close();
//	}
//
//	public static void graphePondere() throws IOException {
//
//		File f = new File("gPondere.txt");
//		BufferedWriter bw = new BufferedWriter(new FileWriter(f));
//
//		HashMap<String, List<Revue>> u = Relation.getInstance().getUtilisatuer();
//		Set<String> set = u.keySet();
//		Object[] arr = set.toArray();
//
//		for (int i = 0; i < arr.length - 1; i++) {
//			Object a = arr[i];
//
//			for (int j = i + 1; j < arr.length; j++) {
//				Object b = arr[j];
//				int poids = calculePoids(u.get(a), u.get(b));
//				bw.write(a + " " + b + " " + poids + "\n");
//			}
//		}
//		bw.close();
//
//	}
//
//	private static int calculePoids(List<Revue> ra, List<Revue> rb) {
//		int somme = 0;
//		for (Revue a : ra) {
//			for (Revue b : rb) {
//				if (a.getBierre().equals(b.getBierre())) {
//					somme += a.similaireMajorite(b);
//				}
//			}
//		}
//		return somme;
//	}
//
//	private static int calculePourcentage(List<Revue> ra, List<Revue> rb) {
//		int somme = 0;
//		int nb = 0;
//		for (Revue a : ra) {
//			for (Revue b : rb) {
//				if (a.getBierre().equals(b.getBierre())) {
//					somme += a.similaireMajorite(b);
//					nb++;
//				}
//			}
//		}
//
//		// int nb_bierres = ra.size() + rb.size() - nb;
//		int nb_bierres = nb;
//		double pc = ((double) somme / (nb_bierres * 5));
//
//		if (pc > 1) {
//			System.err.println("> 1");
//
//			System.out.println("somme " + somme);
//			System.out.println("ra " + ra.size());
//			System.out.println("rb " + rb.size());
//			System.out.println("nb " + nb);
//			System.out.println("nbb " + nb_bierres);
//			System.out.println("nbb*5 " + (nb_bierres * 5));
//			System.out.println("pc " + pc);
//			System.out.println("\n");
//			return 0;
//		}
//
//		else
//			return (int) (pc * 100);
//	}
}
